package com.company.ljh.easy;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;

/**
 * @description:1207. 独一无二的出现次数
 * 提示
 * 简单
 * 184
 * 相关企业
 * 给你一个整数数组 arr，请你帮忙统计数组中每个数的出现次数。
 *
 * 如果每个数的出现次数都是独一无二的，就返回 true；否则返回 false。
 * @projectName:leet_code
 * @see:com.company.ljh.easy
 * @author:ljh
 * @createTime:2023/7/3 11:45
 * @version:1.0
 */
public class 独一无二的出现次数 {
    //hashmap+hashset
    public boolean uniqueOccurrences(int[] arr) {
        HashMap<Integer,Integer> arrTimesMap = new HashMap();
        for(int num : arr){
            if(arrTimesMap.containsKey(num)){
                arrTimesMap.put(num,arrTimesMap.get(num)+1);
            }else{
                arrTimesMap.put(num,1);
            }
        }
        HashSet<Integer> timesSet = new HashSet();
        for(Map.Entry<Integer,Integer> entry:arrTimesMap.entrySet()){
            if(timesSet.contains(entry.getValue())){
                return false;
            }
            else{
                timesSet.add(entry.getValue());
            }
        }

        return true;
    }
}
